home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / geos-archive / GEOS-D64 / GEOS Mega ASM (19xx)(-).d64 / list8-4 < prev    next >
Text File  |  2019-04-13  |  3KB  |  138 lines

  1.      n     "VLIR2-Mod C.obj"
  2.      if .p
  3.      t     "Listing_8.1.ext"
  4.      t     "TopSym"
  5.      t     "TopMac"
  6.      endif
  7.  
  8.      o     ModStart
  9.      ; Sprungtabelle:
  10.      jmp     Aktualisieren
  11.      jmp     Wiederherstellen
  12.      jmp     Verlassen
  13.      jmp     |ffnen
  14.      jmp     drucken
  15.  
  16. :|ffnen
  17.      LoadW     r0,VLIRName     ; Telefondatei suchen
  18.      jsr     OpenRecordFile
  19.      txa
  20.      beq     :10
  21.      cmp     #5     ; Datei gefunden?
  22.      bne     :05
  23.      jmp     Erstellen     ; Nein, also neu erzeugen
  24. ::05     jmp     error
  25. ::10     lda     #0
  26.      jsr     PointRecord
  27. :Wiederherstellen
  28.      LoadW     r7,A_Name
  29.      LoadW     r2,52
  30.      jmp     ReadRecord
  31.  
  32. :Verlassen
  33.      jsr     Aktualisieren
  34.      jsr     CloseRecordFile
  35.      jmp     EnterDeskTop
  36.  
  37. :Aktualisieren
  38.      LoadW     r7,A_Name
  39.      LoadW     r2,52
  40.      jsr     WriteRecord
  41.      txa     
  42.      beq     :10
  43.      jmp     error     
  44. ::10     jmp     UpdateRecordFile
  45.  
  46. :Erstellen
  47.      LoadW     r9,VLIR_Header
  48.      LoadB     r10L,0
  49.      jsr     SaveFile
  50.      LoadW     r0,VLIRName
  51.      jsr     OpenRecordFile
  52.      jsr     AppendRecord
  53.      jsr     i_FillRam     ; Eintrag l|schen
  54.      w     52,A_Name
  55.      b     0
  56.      LoadW     r7,A_Name
  57.      LoadW     r2,52
  58.      jsr     WriteRecord
  59.      jsr     CloseRecordFile
  60.      jmp     |ffnen
  61. :drucken     lda     curRecord
  62.      pha
  63.      jsr     CloseRecordFile
  64.      LoadW     r6,PrntFileName     
  65.      LoadB     r0L,0
  66.      jsr     GetFile     ; Druckertreiber laden
  67.      txa
  68.      beq     :05
  69.      cmp     #$05
  70.      bne     :04
  71.      jmp     KeinDrTreiber
  72. ::04     pla          ; Stack restaurieren
  73.      jmp     error
  74. ::05     jsr     InitForPrint     ; Drucker initialisieren
  75.      LoadW     r0,VLIRName
  76.      jsr     OpenRecordFile
  77.      lda     #00     ; ersten Datensatz einstellen
  78.      jsr     PointRecord
  79.      txa
  80.      bne     :end     ; Falls nicht vorhanden, ende
  81. ::10     LoadW     r7,P_Name     ; Datensatz lesen
  82.      LoadW     r2,52
  83.      jsr     ReadRecord
  84.      txa
  85.      bne     :end
  86.      ldy     #51     ; Alle NULLEN gegen
  87. ::13     lda     P_Name,y     ; Leerzeichen austauschen
  88.      bne     :15
  89.      lda     #$20
  90.      sta     P_Name,y
  91. ::15     dey
  92.      bpl     :13
  93.      LoadW     r1,WorkBuf
  94.      jsr     StartASCII
  95.      LoadW     r0,P_Name     ; Name & Nummer drucken
  96.      LoadW     r1,WorkBuf
  97.      jsr     PrintASCII
  98.      jsr     NextRecord     ; n{chster Datensatz
  99.      txa          ; falls vorhanden,
  100.      beq     :10     ; weiterdrucken
  101. ::end     jsr     StopPrint
  102. :DruckEnde     pla
  103.      jsr     PointRecord
  104.      jsr     Wiederherstellen
  105.      jsr     i_ImprintRectangle
  106.      b     0,199
  107.      w     0,319
  108.      rts
  109. :WorkBuf     s     640
  110. :P_Name     s     31
  111. :P_Nummer     s     21
  112.      b     $0d,0     ; CR,NULL
  113. :KeinDrTreiber
  114.      LoadW     r0,:db
  115.      jsr     DoDlgBox
  116.      LoadW     r0,VLIRName
  117.      jsr     OpenRecordFile
  118.      jmp     DruckEnde
  119. ::db     b     $81
  120.      b     $0b,$10,$10
  121.      w     :t1
  122.      b     OK,17,72
  123.      b     0
  124. ::t1     b     BOLDON,"Druckertreiber nicht zu finden."
  125.      b     PLAINTEXT,NULL
  126. :VLIR_Header
  127.      w     VLIRName
  128.      b     3,21
  129.      j
  130.      b     $80 ! USR
  131.      b     APPL_DATA
  132.      b     VLIR
  133.      w     0,0,0
  134.      b     "VLIR-DAT    V1.0",0,0,0,0
  135.      s     20
  136.      b     "VLIR2-Bsp.  V1.0",0
  137. ::end     s     (VLIR_Header+255) - :end